The present invention is related generally to data networks, and more specifically to an adaptive feedback technique implemented in Mobile IP networks.
Mobile IP (herein referred to as “MIP”) is a protocol which allows laptop computers or other mobile computer units (referred to as “Mobile Nodes” herein) to roam between various sub-networks at various locations—while maintaining internet and/or WAN connectivity. Without Mobile IP or related protocols, a Mobile Node would be unable to stay connected while roaming through various sub-networks. This is because the IP address required for any node to communicate over the internet is location specific. Each IP address has a field that specifies the particular sub-network on which the node resides. If a user desires to take a computer which is normally attached to one node and roam with it so that it passes through different sub-networks, it cannot use its home base IP address. As a result, a business person traveling across the country cannot merely roam with his or her computer across geographically disparate network segments or wireless nodes while remaining connected over the internet. This is not an acceptable state-of-affairs in the age of portable computational devices.
To address this problem, the Mobile IP protocol has been developed and implemented. An implementation of Mobile IP is described in RFC 3220 of the IP Routing for Wireless/Mobile Hosts Working Group, C. Perkins, Ed., January, 2002. Mobile IP is also described in the text “Mobile IP Unplugged” by J. Solomon, Prentice Hall. Both of these references are incorporated herein by reference in their entireties and for all purposes.
The Mobile IP process and environment are illustrated in FIG. 1. As shown there, a Mobile IP environment 2 includes the internet (or a WAN) 4 over which a Mobile Node 6 can communicate remotely via mediation by a Home Agent 8 and a Foreign Agent (FA) (e.g. Foreign Agent 10a). Typically, the Home Agent and Foreign Agent are routers or other network connection devices performing appropriate Mobile IP functions as implemented by software, hardware, and/or firmware. A particular Mobile Node (e.g., a laptop computer) plugged into its home network segment connects with the internet through its designated Home Agent. When the Mobile Node roams, it communicates via the internet through an available Foreign Agent. Presumably, there are many Foreign Agents available at geographically disparate locations to allow wide spread internet connection via the Mobile IP protocol. Note that it is also possible for the Mobile Node to register directly with its Home Agent.
As shown in FIG. 1, Mobile Node 6 normally resides on (or is “based at”) a network segment 12 which allows its network entities to communicate over the internet 4 through Home Agent 8 (an appropriately configured router denoted HA). Note that Home Agent 8 need not directly connect to the internet. For example, as shown in FIG. 1, it may be connected through another router (a router R1 in this case). Router R1 may, in turn, connect one or more other routers (e.g., a router R3) with the internet.
As specified in RFC 3220,a mobile node is pre-configured with information identifying its Home Agent. In addition, both the mobile node and its Home Agent are also pre-configured with a shared key and Security Parameter Index (SPI) for the shared key, commonly referred to as a security association. Similarly, each Home Agent is pre-configured with information identifying mobile nodes that it supports as well as the corresponding security associations. In this manner, a mobile node is “anchored” to a specific Home Agent to enable it to subsequently register with that Home Agent and receive messages via that Home Agent from Correspondent Nodes.
Now, suppose that Mobile Node 6 is removed from its home base network segment 12 and roams to a remote network segment (e.g., network segment 14a). Network segment 14a may include various other nodes such as a PC 16. The nodes on network segment 14a communicate with the internet through a router which doubles as Foreign Agent 10a. Typically, a Mobile IP network may include many different network segments (e.g., 14b,14c), with each network segment having a respective Foreign Agent (e.g., 10b,10c). A variety of different link types (e.g., GPRS, CDMA, wireless LAN, fixed Ethernet, CDPD, etc.) may be used to communicate with the different Foreign Agents in the Mobile IP network. For example, communication with Foreign Agent 10a may be achieved using a CDMA link, communication with Foreign Agent 10b may be achieved using a wireless LAN link, and communication with Foreign Agent 10c may be achieved using a CDPD link. Each type of communication link has different associated link characteristics, including different bandwidth characteristics. For example, the bandwidth of a GPRS link type may be about 144 Kbps, the bandwidth of a fixed Ethernet link type may be about 100 Mbps, and the bandwidth of a CDPD link type may be about 9.6 Kbps.
In the example of FIG. 1, Mobile Node 6 may identify Foreign Agent 10a through various agent solicitations and agent advertisements which form part of the Mobile IP protocol. When Mobile Node 6 engages with network segment 14a,it composes a registration request for the Home Agent 8 to bind the Mobile Node's current location with its home location. Foreign Agent 10a then relays the registration request to Home Agent 8 (as indicated by the dotted line “Registration”). During the registration process, the Home Agent and the Mobile Node 6 may then negotiate the conditions of the Mobile Node's attachment to Foreign Agent 10a. For example, the Mobile Node 6 may request a registration lifetime of 5 hours, but the Home Agent 8 may grant only a 3 hour period. Therefore, the attachment may be limited to a period of time. When the negotiation is successfully completed, Home Agent 8 updates an internal “mobility binding table” which links the Mobile Node's current location via its care-of address (e.g., a collocated care-of address or the Foreign Agent's IP address) to the identity (e.g., home address) of Mobile Node 6. Further, if the Mobile Node 6 registered via a Foreign Agent, the Foreign Agent 10a updates an internal “visitor table” which specifies the Mobile Node address, Home Agent address, etc. In effect, the Mobile Node's home base IP address (associated with segment 12) has been binded to the care-of address such as the Foreign Agent's IP address (associated with segment 14a).
Now, suppose that Mobile Node 6 wishes to send a message to a Correspondent Node 18 from its new location. An output message from the Mobile Node is then packetized and forwarded through Foreign Agent 10a over the internet 4 to Correspondent Node 18 (as indicated by the dotted line “packet from MN”) according to a standard Internet Protocol. If Correspondent Node 18 wishes to send a message to Mobile Node—whether in reply to a message from the Mobile Node or for any other reason—it addresses that message to the IP address of Mobile Node 6 on sub-network 12. The packets of that message are then forwarded over the internet 4 and to router R1 and ultimately to Home Agent 8 as indicated by the dotted line (“packet to MN(1)”). From its mobility binding table, Home Agent 8 recognizes that Mobile Node 6 is no longer attached to network segment 12. It then encapsulates the packets from Correspondent Node 18 (which are addressed to Mobile Node 6 on network segment 12) according to a Mobile IP protocol and forwards these encapsulated packets to a “care of” address for Mobile Node 6 as shown by the dotted line (“packet to MN(2)”). The care-of address may be, for example, the IP address of Foreign Agent 10a. Foreign Agent 10a then strips the encapsulation and forwards the message to Mobile Node 6 on sub-network 14a. The packet forwarding mechanism implemented by the Home and Foreign Agents is often referred to as “tunneling.”
It will be appreciated that Mobile IP (as described, for example, in RFC 3220, herein incorporated by reference in its entirety for all purposes) solves a network layer mobility problem by maintaining the same home address even when the mobile node (MN) traverses subnets within one network domain, moves across different domains, and/or moves across different network types (e.g. fixed Ethernet, WLAN, CDMA 2000, GPRS, etc.). Thus, Mobile IP provides application layer/session continuity since the IP address of the mobile mode does not change as the mobile node roams to different network segments or subnetworks.
However, one problem with conventional Mobile IP protocols is that applications running on top of Mobile IP are typically unaware of changes in underlying network layer or link layer characteristics until long after the conventional transport layer feedback mechanisms kick in. For example, referring to FIG. 1, if mobile node 6 were running a streaming video application (which generates bulk data) while the mobile node roamed from a fixed Ethernet link (which provides relatively high bandwidth) to a GPRS link (which provides relatively low bandwidth), the streaming video application may end up transmitting more data to the link layer of the GPRS link than that link is able to support. This, in turn, may cause network degradation until conventional transport layer feedback mechanisms kick in to help mitigate the network degradation issues.
Generally, most applications running at a mobile node are not designed to adapt to changes in network layer and/or link layer characteristics since the conventional transport layer feedback mechanisms typically hide such details from the applications. For example, conventional TCP protocols are able to handle congestion issues within the network by providing end-to-end flow control using a window mechanism. However, applications running on top of the TCP protocol are typically unaware of the window mechanism or other mechanisms used to handle network congestion at the transport layer. Moreover, the conventional feedback mechanisms at the transport layer typically do not kick in until after an amount of time has elapsed in which there exists degradation of network performance.
Accordingly, it will be appreciated that there exists a continual desire to improve upon Mobile IP technology in order to improve, for example, network performance and data integrity.